<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>colorizer Docs</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>colorizer</h1>


<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
</ul>


<h2>Modules</h2>
<ul class="nowrap">
  <li><a href="../modules/colorizer.html">colorizer</a></li>
  <li><a href="../modules/colorizer.buffer.html">buffer</a></li>
  <li><strong>color</strong></li>
  <li><a href="../modules/colorizer.config.html">config</a></li>
  <li><a href="../modules/colorizer.constants.html">constants</a></li>
  <li><a href="../modules/colorizer.matcher.html">matcher</a></li>
  <li><a href="../modules/colorizer.parser.rgb_hex.html">parser.rgb_hex</a></li>
  <li><a href="../modules/colorizer.parser.hsl.html">parser.hsl</a></li>
  <li><a href="../modules/colorizer.parser.names.html">parser.names</a></li>
  <li><a href="../modules/colorizer.parser.oklch.html">parser.oklch</a></li>
  <li><a href="../modules/colorizer.parser.rgb.html">parser.rgb</a></li>
  <li><a href="../modules/colorizer.parser.rgba_hex.html">parser.rgba_hex</a></li>
  <li><a href="../modules/colorizer.parser.xterm.html">parser.xterm</a></li>
  <li><a href="../modules/colorizer.sass.html">sass</a></li>
  <li><a href="../modules/colorizer.tailwind.html">tailwind</a></li>
  <li><a href="../modules/trie.html">trie</a></li>
  <li><a href="../modules/colorizer.usercmds.html">usercmds</a></li>
  <li><a href="../modules/colorizer.utils.html">utils</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>colorizer.color</code></h1>
<p>Provides color conversion and utility functions for RGB and HSL values.</p>
<p></p>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#hsl_to_rgb">hsl_to_rgb (h, s, l)</a></td>
	<td class="summary">Converts an HSL color value to RGB.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#hue_to_rgb">hue_to_rgb (p, q, t)</a></td>
	<td class="summary">Converts an HSL component to RGB, used within `hsl_to_rgb`.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#is_bright">is_bright (r, g, b)</a></td>
	<td class="summary">Determines whether a color is bright, helping decide text color.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#oklch_to_rgb">oklch_to_rgb (L, C, H)</a></td>
	<td class="summary">Converts an OKLCH color value to RGB.</td>
	</tr>
</table>

<br/>
<br/>


    <h2 class="section-header "><a name="Functions"></a>Functions</h2>

    <dl class="function">
    <dt>
    <a name = "hsl_to_rgb"></a>
    <strong>hsl_to_rgb (h, s, l)</strong>
    </dt>
    <dd>
    Converts an HSL color value to RGB.
 Accepts hue, saturation, and lightness values, each within the range [0, 1],
 and converts them to an RGB color representation with values scaled to [0, 255].


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">h</span>
         number: Hue, in the range [0, 1].
        </li>
        <li><span class="parameter">s</span>
         number: Saturation, in the range [0, 1].
        </li>
        <li><span class="parameter">l</span>
         number: Lightness, in the range [0, 1].
        </li>
    </ul>

    <h3>Returns:</h3>
    <ol>
        <li>
        number|nil,number|nil,number|nil: Returns red, green, and blue values
         scaled to [0, 255], or nil if any input value is out of range.</li>
        <li>
        number|nil,number|nil,number|nil</li>
    </ol>




</dd>
    <dt>
    <a name = "hue_to_rgb"></a>
    <strong>hue_to_rgb (p, q, t)</strong>
    </dt>
    <dd>
    Converts an HSL component to RGB, used within `hsl_to_rgb`.
 Source: https://gist.github.com/mjackson/5311256
 This function computes one component of the RGB value by adjusting
 the color based on intermediate values `p`, `q`, and `t`.


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">p</span>
         number: A helper variable representing part of the lightness scale.
        </li>
        <li><span class="parameter">q</span>
         number: Another helper variable based on saturation and lightness.
        </li>
        <li><span class="parameter">t</span>
         number: Adjusted hue component to be converted to RGB.
        </li>
    </ul>

    <h3>Returns:</h3>
    <ol>

        number: The RGB component value, in the range [0, 1].
    </ol>




</dd>
    <dt>
    <a name = "is_bright"></a>
    <strong>is_bright (r, g, b)</strong>
    </dt>
    <dd>
    Determines whether a color is bright, helping decide text color.
 ref: https://stackoverflow.com/a/1855903/837964
 https://stackoverflow.com/questions/596216/formula-to-determine-brightness-of-rgb-color
 Calculates the perceived luminance of the RGB color. Returns `true` if
 the color is bright enough to warrant black text and `false` otherwise.
 Formula based on the human eye’s sensitivity to different colors.


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">r</span>
         number: Red component, in the range [0, 255].
        </li>
        <li><span class="parameter">g</span>
         number: Green component, in the range [0, 255].
        </li>
        <li><span class="parameter">b</span>
         number: Blue component, in the range [0, 255].
        </li>
    </ul>

    <h3>Returns:</h3>
    <ol>

        boolean: `true` if the color is bright, `false` if it's dark.
    </ol>




</dd>
    <dt>
    <a name = "oklch_to_rgb"></a>
    <strong>oklch_to_rgb (L, C, H)</strong>
    </dt>
    <dd>
    Converts an OKLCH color value to RGB.
 OKLCH is a perceptual color space that provides better uniformity than HSL.
 Accepts lightness, chroma, and hue values and converts them to RGB.
<p> References:
   - OKLCH/OKLab specification: https://bottosson.github.io/posts/oklab/
   - W3C CSS Color Module Level 4: https://www.w3.org/TR/css-color-4/#ok-lab
   - Conversion algorithms: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch



    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">L</span>
         number: Lightness, in the range [0, 1].
        </li>
        <li><span class="parameter">C</span>
         number: Chroma, typically in the range [0, 0.4] but can be higher.
        </li>
        <li><span class="parameter">H</span>
         number: Hue, in degrees [0, 360].
        </li>
    </ul>

    <h3>Returns:</h3>
    <ol>

        number|nil,number|nil,number|nil: Returns red, green, and blue values
         scaled to [0, 255], or nil if any input value is out of range.
    </ol>




</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/lunarmodules/LDoc">LDoc 1.5.0</a></i>
<i style="float:right;">Last updated - October </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
